Modelo de efectos mixtos, machine learning y deep learning

Resumen de trabajos de interés

Un pequeño repaso

La inteligencia artificial es el nombre de todo un campo de conocimiento, similar a la biología o la química. El machine learning es una rama de la inteligencia artificial que viene ganando popularidad.

Las redes neuronales son uno de los tipos de machine learning. Uno popular, pero hay otros también muy buenos. El deep learning es un método moderno de construcción, capacitación y uso de redes neuronales. Básicamente, es una nueva arquitectura.

Un pequeño repaso

Nunca hay una única forma de resolver un problema en el mundo del machine learning. Siempre hay varios algoritmos que se ajustan, y se debe elegir el mejor.

Las técnicas y métodos de machine learning pueden funcionar con una gran cantidad de datos complejos, de alta dimensión y enormes, y pueden usarse para desarrollar modelos de regresión y clasificación.

Un pequeño repaso

Un pequeño repaso

En el aprendizaje supervisado, el modelo simplemente aprende a mapear las características de entrada dadas o la variable predictora \(\small x\) y la variable de salida o respuesta \(\small y\) en los conjuntos de datos de entrenamiento. La muestra de entrenamiento actúa como supervisor en el proceso de aprendizaje.

En el aprendizaje supervisado, cuando la variable de salida es un valor categórico o discreto, entonces es clasificación, pero cuando la variable de salida es un valor continuo, entonces es una regresión. Aquí un video sobre esto.

Un pequeño repaso

La fórmula simple para explicar el problema de regresión (en el estudio a desarrollar se esta interesado en el problema de regresión) viene dada por la ecuación:

\[\small y = f(x) + b\]

El propósito de la regresión es estimar el valor de la variable respuesta \(\small y\) utilizando la función \(\small f(x)\) a partir de conjuntos de datos de entrada dados y su término de errores.

En la regresión, el modelo aprende de los datos en diversas técnicas para minimizar el sesgo y la varianza hasta que en algún momento la predicción del modelo haya logrado el mejor ajuste.

Un pequeño repaso

Se pueden usar muchos algoritmos de regresión de machine learning para predecir la salida continua:

1. Random forest (bosque aleatorio)

Para entender el bosque aleatorio se necesita primero introducir el concepto de árboles de decisión.

Un pequeño repaso

Un árbol de decisión (como se pudo observar en la imagen anterior) es una estructura similar a un diagrama de flujo, en la que cada nodo interno representa una prueba sobre un atributo del conjunto de datos, cada rama representa el resultado de la prueba y cada hoja representa una etiqueta de clase.

Así que el algoritmo hará las pruebas sobre los datos, descubriendo cuáles son las características más relevantes del conjunto de datos para predecir un determinado resultado, y separando en consecuencia el conjunto de datos.

Un pequeño repaso

El bosque aleatorio se compone de árboles de decisión de distinta profundidad y hojas generadas dada la cantidad de características en los datos. RF utiliza aleatoriamente un subconjunto de características en lugar de todas ellas.

El número de ramas en cada árbol, puede medirse comenzando desde la parte superior o la raíz hasta el círculo rojo a través de varios niveles de nodos divididos (L1, L2, …, Ln).

Un pequeño repaso

Cuantas más divisiones tenga el árbol, más información de profundidad se puede capturar de los datos, lo que reduce el sesgo. Cada nodo de decisión tiene varios números de muestras, pero al menos tiene una muestra. Como es un árbol en la naturaleza, también tiene una hoja.

Similar al nodo de decisión, la hoja dividida requiere mínimo una muestra. A diferencia del nodo de decisión, el nodo de hoja no tiene hijos.

Un pequeño repaso

En general, el bosque aleatorio es un técnica de conjunto capaz de realizar tareas de regresión con el uso de múltiples árboles de decisión y una técnica llamada bootstrap aggregation, comúnmente conocida como bagging.

Esta técnica, implica entrenar cada árbol de decisión en una muestra de datos diferentes donde el muestreo se realiza con reemplazo:

Un pequeño repaso

El estimador de regresión de bosque aleatorio es igual a:

\[\small \hat{f^{I}}(x) = \frac{\sum^{I}_{i = 1}t^{*}_{i}(x)}{I}\]

donde \(\small \hat{f^{I}}(x)\) es un estimador de bosque aleatorio, bootstrap individual de la muestra \(\small i\), \(\small I\) es el número total de árboles que representan el número de estimadores, y \(\small t^{*}_{i}(x)\) es la función del árbol de decisión individual que es igual a \(\small t^{*}_{i}(x) = t(X; Z^{*}_{i1},... Z^{*}_{in})\)

donde \(\small Z^{*}_{in} (n = 1, ..., N)\) es la n-ésima muestra de entrenamiento del conjuntos de datos con \(\small x\) características de entrada y respuesta \(\small y\).

Un pequeño repaso

El valor óptimo del parámetro de bosque aleatorio, así como el número de ramas, muestras divididas y el nodo de hoja de la muestra, se requiere para averiguar mediante el ajuste de hiperparámetros. Sin embargo, los creadores de este método recomiendan usar \(\small nfeatures = \frac{1}{3}m\) donde \(\small m\) es el número de características de los datos y el nodo dividido mínimo es cinco.

Un pequeño repaso

2. Support vector regression (regresión de vector de soporte)


Un pequeño repaso

La máquina de vector de soporte (abreviada como SVM) son algoritmos supervisados de machine learning que encuentran un límite o línea que describe efectivamente los datos de entrenamiento, ya sea dando la mayor separación posible entre el límite y los puntos de datos de entrenamiento en cada lado (clasificación) o encontrando la línea lo más cerca posible del mayor número de puntos de entrenamiento (regresión).

Un pequeño repaso

Una máquina de vector de soporte piensa en observaciones individuales (filas) en un conjunto de datos como puntos trazados en un espacio n-dimensional, donde n es el número de variables predictoras que se está utilizando para describir la variable respuesta.

Por ejemplo, si se tiene dos variables, A y B, los puntos se trazarán en un espacio bidimensional en función de los valores de cada variable predictiva:

Un pequeño repaso

Después de determinar dónde existen las observaciones en el espacio n-dimensional, un SVM identifica un hiperplano llamado límite de decisión que separa los datos. Por definición, un hiperplano siempre tendrá una dimensión menos que el espacio de datos en el que está construido.

Por ejemplo, si se está trabajando en un espacio tridimensional, el hiperplano tendrá dos dimensiones, y si el espacio es bidimensional, el hiperplano será una línea.

Un pequeño repaso

Un SVM intenta identificar un límite de decisión óptimo que separe claramente las diferentes clasificaciones de la variable respuesta. El límite de decisión de un SVM está determinado por vectores de soporte. Este admite puntos de vectores que están más cerca del borde de cada clase, los cuales son los puntos más difíciles de clasificar correctamente.

Un pequeño repaso

La distancia entre el hiperplano y los vectores de soporte se llaman márgenes.

El objetivo de un SVM en regresión consiste en intentar ajustar todos los puntos dentro del margen del hiperplano y minimizar el número de puntos que quedan fuera del margen.


Un pequeño repaso

Cuando el conjunto de datos no se puede separar por una línea recta, se suele emplear una función de kernel.

Esta función se usa para transformar los datos en un espacio de dimensión superior para separarlos linealmente. Convierte un problema no separable en uno separable al aumentar el número de dimensiones en el espacio del problema y mapear los puntos de datos a un nuevo espacio.

El hiperplano que separa efectivamente los puntos en un espacio problemático de mayor dimensión se asigna nuevamente al espacio problema original, lo que da como resultado una solución no lineal: →

Un pequeño repaso


Un pequeño repaso

Matemáticamente, la SVR no lineal se formula dado por:

\[\small y = f(x) = \langle w, \varphi(x) \rangle + b\]

donde \(\small w\) es un vector de peso, \(\small \varphi(.)\) es la función de mapeo de características y \(\small b\) es el error independiente e idénticamente distribuido o el término de sesgo. Además, SVR utiliza la función de pérdida \(\small \epsilon\) de Vapnik que define un margen o tolerancia a errores. A mayor valor de \(\small \epsilon\), se toleran los errores más grandes. En contraste, establecer el valor \(\small \epsilon\) en cero significa que cada error será penalizado.

\[\small L_{\epsilon}(y_{i}, f \langle x_{i}, w \rangle) = \begin{cases} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; 0, \;\;si |y_{i} - f\langle x_{i}, w \rangle| \leqslant \epsilon \\ |y_{i} - f\langle x_{i}, w \rangle|, \;\;si |y_{i} - f\langle x_{i}, w \rangle| \geqslant \epsilon \end{cases} \]

Un pequeño repaso

SVR resuelve la regresión lineal en datos n-dimensionales con \(\small n>1\) utilizando la función de pérdida y reduciendo la complejidad del modelo al minimizar el vector \(\small |w|\) que se induce la variable de holgura \(\small \xi_{i}\), para \(\small i = 1, ..., n\) para estimar la desviación de las muestras de entrenamiento ubicadas fuera del margen \(\small \epsilon\), de modo que:

\[\small minimizar\left(\frac{1}{2}||w||^{2} + C \sum_{i}^{n}(\xi_{i} + \xi_{i}^{*}) \right)\]

\[ \small sujeto \; a \begin{cases} y_{i} - f\langle x_{i}, w\rangle - b \leqslant \epsilon + \xi_{i} \\ f\langle x_{i}, w\rangle + b - y_{i} \leqslant \epsilon + \xi_{i}^{*} \\ \xi_{i}, \xi_{i}^{*} \geqslant 0 \end{cases} \]

→

Un pequeño repaso

\[ \small |\xi|_{\epsilon} := \begin{cases} \;\;\;\;0 \;\;\;\;\;\;si \; |\xi| \leqslant \epsilon \\ |\xi| - \epsilon \;\;\;\;de \; otra \; manera \end{cases} \]

Donde se introduce \(\small C\) como parámetros de regularización. Se usa como factor de penalización; un valor constante enorme de \(\small C\) puede inducir un sobreajuste, mientras que un valor mínimo de \(\small C\) puede inducir un ajuste insuficiente. La fórmula de optimización se puede transformar en un problema dual \(\small \alpha_{p}\) y \(\small \alpha_{p}^{*}\) para cada punto de datos de la siguiente manera:

\[\small f(x_{i}) = \sum_{p, q = 1}^{n}(\alpha_{pi}-\alpha_{pi}^{*})k(x_{pi}, x_{qi})+b\]

→

Un pequeño repaso

donde \(\small \alpha_{i} \geqslant 0\) y \(\small C \geqslant \alpha_{i}^{*}\) y \(\small K(x_{pi}, x_{qi})\) es la función de kernel para \(\small i, p, q = 1, ..., n\). Hay tres kernel de uso común; a saber, la base radial lineal, polinómica y gaussiana.

Es importante seleccionar los hiperparámetros (\(\small C\), \(\small \epsilon\) y \(\small \gamma\), por ejemplo) más apropiados de SVR para garantizar una buena generalización del modelo.

Un pequeño repaso

El modelo mixto es un modelo estadístico que comprende efectos fijos y efectos aleatorios.

Los modelos de efectos mixtos son adecuados para conjuntos de datos que tienen estructura de clúster. La estructura del clúster puede ser longitudinal (imagen a la izquierda) o jerárquica (imagen a la derecha).

Un pequeño repaso

Matemáticamente, el algoritmo de efectos lineales mixtos está formulado por:

\[\small y_{i} = X_{i}\beta + Z_{i}b_{i} + \epsilon_{i}\]

donde \(\small y_{i} = [y_{i1}, ..., y_{in_{i}}]^{T}\) es un vector para las \(\small n_{i}\) observaciones en el cluster \(\small i\), \(\small X_{i} = [X_{i1}, ..., X_{in_{i}}]^{T}\) es una matriz de características de efectos fijos, \(\small Z_{i} = [Z_{i1}, ..., Z_{in_{i}}]^{T}\) es una matriz de características de efectos aleatorios, \(\small \epsilon_{i} = [\epsilon_{i1}, ..., \epsilon_{in_{i}}]^{T}\) es un de vector error desconocido, \(\small b_{i} = (b_{i1}, ..., b_{in_{i}})^T\) es un vector desconocido de coeficientes de efectos aleatorios en el grupo \(\small i\), y \(\small \beta\) es un vector desconocido de coeficientes de efectos fijos.

Un pequeño repaso

En los efectos lineales mixtos de la formula anterior, se supone que \(\small b_{i}\) y \(\small \epsilon_{i}\) son independientes e idénticamentes distribuidos como \(\small b_{i} \sim N (0, D)\) y \(\small \epsilon_{i} \sim N(0, R_{i})\) donde \(\small N\) se refiere a la distribución normal, mientras que \(\small D\) y \(\small R_{i}\) son matrices diagonales de \(\small b_{i}\) y \(\small \epsilon_{i}\) respectivamente.

Un pequeño repaso

Se ha propuesto un enfoque para manejar el clúster en los datos, el machine learning de efectos mixtos.


Un pequeño repaso

1. Bosque aleatorio de efectos mixtos (MERF)

El algoritmo MERF fue propuesto para abordar mediciones repetibles agrupadas y no balanceadas en los conjuntos de datos. MERF es como el modelo de efectos mixtos, excepto que lo efectos fijos \(\small X_{i}\beta\) en la ecuación son reemplazados por la función aleatoria del bosque \(\small \hat{f^{I}}(x)\) para estimar coeficientes fijos:

\[\small y_{i} = \hat{f^{I}}(x) + Z_{i}b_{i} + \epsilon_{i}\]

Un pequeño repaso

Un pequeño repaso

2. Regresión de vector de soporte de efectos mixtos

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

Problema: Los autores mencionan que los modelos comunmente usados (en este caso, con datos longitudinales) trabajan bajo supuestos hechos en la distribución de los datos y del modelo… los métodos tradicionales tienen una fuerte dependencia de los supuestos.

En comparación con los métodos tradicionales, los métodos de machine learning no requieren suposiciones sobre la distribución de los datos, y utilizan la validación cruzada para juzgar la calidad del modelo en su lugar.

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

Los datos consisten de 79 vacas que comen tres alimentos diferentes: alimento con cebada, alimento con lupino blanco, y un mixto de cebada y lupino blanco. Se observa luego el contenido proteico de la leche producida en cada vaca en diferentes periodos.

Las variables de los datos son dieta, vaca, semana y proteína.

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

Se uso el enfoque del modelo mixto de efectos aleatorios. Este modelo agregará las diferencias entre diferentes individuos como una parte aleatoria, para reflejar el efecto del individuo en sus mediciones repetidas. Su forma general es:

\[\small y_{i} = X_{i}\beta_{i} + Z_{i}b_{i} + \epsilon_{i}, \;\;\;\; i = 1, 2, ..., N\]

La variable proteína se uso como variable dependiente, y las otras como independientes. Las variables independientes semana y dieta fueron efectos fijos y efectos aleatorios. La expresión del modelo es: →

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction


a = lme(protein ~ week + diet, random = ~ week + diet | cow, w)

Aquí lme es una función del modelo mixto de efectos aleatorios lineales y w es el nombre de los datos.

El conjunto de entrenamiento se establece desde la quinta semana, y las observaciones de las otras semanas se usan como conjunto de prueba y se cambia el conjunto de entrenamiento (el conjunto de entrenamiento se incrementa gradualmente) para hacer predicciones.

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

El error usado en el artículo es el error cuadrático medio normalizado (NMSE):

\[\small NMSE = \frac{(y - \hat y)^2}{(y - \bar y)^2} = \frac{\sum(y - \hat y)^2}{\sum(y - \bar y)^2}\]

En la figura 1 los autores vieron una tendencia obvia: a medida que el conjunto de entrenamiento era más grande, el NMSE era menor (el

efecto de predicción era mejor).

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

En el articulo, los autores mencionan que el poder interpretativo de los métodos de machine learning es peor que los métodos tradicionales:

… sin embargo su capacidad de predicción es mucho mejor.

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

Para los métodos de machine learning, se elimino la variable vaca dado que dichos métodos son inútiles para los números de serie. De manera cíclica, los métodos de machine learning y los modelos lineales se utilizaron para modelar, y el conjunto de entrenamiento se cambio para la validación cruzada.

El gráfico de NMSE resultante se muestra en la figura a continuación.

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

En la figura anterior, la predicción de los modelos lineales no es tan buena como la de los métodos de machine learning. Sin embargo, la predicción del modelo lineal funciona mejor a medida que aumenta el conjunto de entrenamiento, siendo muy cercano al método de machine learning cuando se utilizan las primeras 12 semanas como conjunto de entrenamiento para construir el modelo.

No importa el método de machine learning, la predicción de estos datos es similar y es robusta (apenas cambia con el cambio del conjunto de entrenamiento).

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

El siguiente es el valor de NMSE y el gráfico de NMSE para los modelos empleados en R.

Se puede ver que la predicción de los datos por el método de machine learning es mucho mejor que el método tradicional.

Trabajo 1: compare machine learning methods and linear mixed models with random effects of longitudinal data prediction

Conlusión

El efecto de predicción de los métodos de machine learning es mucho mejor que el modelo lineal tradicional y el de efectos mixtos. Pero si el propósito de los datos es para inferencia, los métodos tradicionales pueden ser más explicativos. En la práctica, el modelo óptimo debe seleccionarse de acuerdo con las características de los datos.

Trabajo 2: Using artificial neural network to predict body weights of rabbits

Problema: Los métodos tradicionales de predicción estadística y clasificación tienen varias limitaciones, como los supuestos en lo que se basan, y sus resultados a menudo no son los mejores posibles.

Las redes neuronales artificiales se basan en supuestos menos numerosos y

permiten resolver problemas en los que los métodos estadísticos tradicionales no proporcionan soluciones aceptables.

Sin embargo, el uso de redes neuronales todavía es escaso en la ciencia animal.

Trabajo 2: Using artificial neural network to predict body weights of rabbits

Se utilizaron 144 conejos F1 de ocho semanas de edad. Los conejos fueron manejados intensivamente con aire acondicionado para minimizar el estrés por calor. Se les alimentó con una dieta granulada por las mañanas y se les dio pasto verde como la guinea (Panicum maximum) por las tardes.

Con una balanza digital se tomó el peso corporal. Se determinaron tres rasgos biométricos con una cinta métrica. Los componentes del cuerpo medidos fueron: →

Trabajo 2: Using artificial neural network to predict body weights of rabbits


Rasgo en cm Descripción
Longitud del cuerpo (BL) Distancia diagonal desde los puntos del hombro hasta los puntos de la cadera o las primeras vértebras torácicas hasta la base de la cola o el hueso de la cadera.
Circuferencia del corazón (HG) Se refiere a la circunferencia del cuerpo y se midió justo detrás de las patas delanteras.
Altura a la cruz (HW) Corresponde a la altura o distancia existente entre el suelo y las primeras vértebras torácicas, que forman una cruz imaginaria con la vertical.

Trabajo 2: Using artificial neural network to predict body weights of rabbits

Se implemento una red neuronal artificial de tres capas con propagación hacia atras en Python. La capa de entrada tenia cinco nodos (raza, sexo, HG, BL y HW), mientras que la capa oculta se hizo para contener cinco nodos (para simplificar y facilitar el entrenamiento del modelo).

La capa de salida tenia un solo nodo: el peso corporal.

Trabajo 2: Using artificial neural network to predict body weights of rabbits

El conjunto de datos se dividio aleatoriamente en dos subconjuntos: entrenamiento (75% del conjunto de datos completo) y prueba (25%). La red se probó en 1 y 2 capas ocultas con 3 a 25 neuronas en cada capa oculta. Los pesos iniciales y la matriz de sesgo se iniciaron aleatoriamente entre -1 a 1. Se uso una función de transformación no lineal (o activación) tangente sigmoidea (Ecuación [1]) para calcular la salida de la suma de entradas ponderadas de neuronas en cada capa oculta. Se utilizaron funciones de transformación lineal como capa de salida para obtener la respuesta de la red.

\[\small f^{(x)} = \frac{1}{1 + e^{-\alpha_{x}}} \;\;\;\; ecuación\;[1]\]

Trabajo 2: Using artificial neural network to predict body weights of rabbits

Para tener un buen entrenamiento del modelo de red neuronal artificial, se estableció la tasa de aprendizaje en 0.005 y el factor de impulso en 0.001. Primero se realizó 10 mil iteraciones de entrenamiento, utilizando el modelo obtenido (es decir, los pesos de la red neuronal) para predecir los pesos corporales, y se guardo los resultados.

En aras de la comparación, se ajustó un modelo de regresión lineal multivariante después de confirmar que el modelo era estadísticamente significativo en p < 0.0001 .

Trabajo 2: Using artificial neural network to predict body weights of rabbits

Al comparar los resultados de la red neuronal artificial con los del modelo de regresión lineal multivariante ajustado, los resultados fueron alentadores. Por lo tanto se fue más allá, y se ejecuto 1 millon de iteraciones de entrenamiento para mejorar aún más los pesos de la red neuronal artificial.

El \(\small R^{2}\) se determinó usando la siguiente fórmula:

\[\small R^{2} = 1 - \left[ \sum_{1}^{N} \left( \frac{Q_{exp} - Q_{cal}}{Q_{exp^{2}}} \right)^{2} \right]\]

donde \(\small Q_{exp}\) es el valor observado, \(\small Q_{cal}\) es el valor predicho y \(\small N\) es el número de observaciones.

Trabajo 2: Using artificial neural network to predict body weights of rabbits

Estadísticas resumidas de los pesos observados y predichos en 10 mil, y en 1 millón de iteraciones de entrenamiento de la red neuronal artificial:

Comparación de la red neuronal y el modelo de regresión lineal multivariante de los pesos observados y los pesos predichos:

Trabajo 2: Using artificial neural network to predict body weights of rabbits

Correlación de Pearson entre los pesos observados y los pesos predichos en 10 mil, y en 1 millón de iteraciones de entrenamiento de la red neuronal:

La red neuronal artificial implementada y los resultados son alentadores, ya que supera la regresión lineal multivariada. El \(R^{2}\) de cada uno de los resultados de los modelos de la red (0.679 para 10 mil iteraciones; y 0.71 de 1 millón de iteraciones) es mucho mejor que el de la regresión lineal multivariada (0.659, Tabla 2).

Trabajo 2: Using artificial neural network to predict body weights of rabbits

La precisión de la predicción se validó utilizando los conjuntos de datos de prueba. Los modelos de red neuronal dieron valores de \(R^{2}\) más altos que la regresión lineal multivariada, lo que indica que la predicción del modelo de red neuronal fue capaz de describir una mayor variación en el peso corporal de los conejos en comparación con la regresión lineal multivariada.

Se concluye que la red neuronal artificial es más robusta y podría utilizarse para predecir el peso corporal de los animales con mayor precisión que la regresión lineal multivariada.